﻿$(function () {

    ////////////////////////////////////////////////////////////////////////////
    //영역 버튼 히든필드 선언
    ////////////////////////////////////////////////////////////////////////////
    // 영역
    var $vdocs = $(".docs"); //문서들을 싸고 있는 UL
    var $vdoc = $(".doc"); //문서 Li
    var $vfolders = $(".folders"); //폴더들을 싸고 있는 UL
    var $vfolder = $(".folder"); //각각의 폴더 Li
    var $vliFolderDelete = $(".liFolderDelete"); //휴지통 
    // 드롭다운
    var drops;
    // 버튼
    var $vbtnSave = $(".btnSave"); //적용버튼
    var $vbtnDelete = $(".btnDelete"); //삭제버튼
    // 히든필드
    var $vhdEventType = $(".hdEventType"); //이벤트 타입
    var $vhdFromSiteUrl = $(".hdFromSiteUrl"); //문서를 가져올 사이트 주소
    var $vhdFromWebName = $(".hdFromWebName"); //문서를 가져올 웹 이름
    var $vhdFromListUrl = $(".hdFromListUrl"); //문서를 가져올 리스트 주소
    var $vhdFromDocID = $(".hdFromDocID"); //가져올 문서 아이디
    var $vhdToSiteUrl = $(".hdToSiteUrl"); //문서를 옮길 사이트 주소
    var $vhdToWebName = $(".hdToWebName"); //문서를 옮길 웹 이름
    var $vhdToListUrl = $(".hdToListUrl"); //문서를 옮길 리스트 주소
    var $vhdToFolderName = $(".hdToFolderName"); //문서를 옮길 폴더명

    ////////////////////////////////////////////////////////////////////////////
    //li로 구성된 문서의 드래그 설정
    ////////////////////////////////////////////////////////////////////////////

    $("li", $vdocs).draggable({
        revert: "invalid",
        cursor: "move",
        cursorAt: { cursor: "crosshair", top: 10, left: 10 },
        start: function (event, ui) {
            $(this).children().css('display', 'none');
            $(this).removeClass('doc');
            $(this).addClass('docDrag');
        },
        drag: function (event, ui) {
        },
        stop: function (event, ui) {
            $(this).removeClass("docDrag");
            $(this).addClass('doc');
            $(this).children().css('display', 'block');
            $(this).children(".dvItemInfo").css('display', 'none');
        }
    });

    ////////////////////////////////////////////////////////////////////////////
    //li로 구성된 폴더의 드래그 설정
    ////////////////////////////////////////////////////////////////////////////

    $("li", $vfolders).draggable({
        revert: "invalid",
        cursor: "move",
        cursorAt: { cursor: "crosshair", top: 10, left: 10 },
        start: function (event, ui) {
            $(this).children().css('display', 'none');
            $(this).removeClass('folder');
            $(this).addClass(" folderDrag");
        },
        drag: function (event, ui) {
        },
        stop: function (event, ui) {
            $(this).removeClass("folderDrag");
            $(this).addClass('folder');
            $(this).children().css('display', 'block');
            $(this).children(".dvItemInfo").css('display', 'none');
        }
    });

    ////////////////////////////////////////////////////////////////////////////
    //폴더에 문서를 드랍
    ////////////////////////////////////////////////////////////////////////////

    $vfolder.droppable({
        accept: ".docs > li",
        over: function (event, ui) {
            currentFolder = $(this);
            currentFolder.removeClass('drop_deactive');
            currentFolder.addClass('drop_active');
        },
        out: function (event, ui) {
            currentFolder = $(this);
            currentFolder.removeClass('drop_active');
            currentFolder.addClass('drop_deactive');
        },
        drop: function (event, ui) {
            ui.draggable.fadeOut();
            drops = $(this);
            addToFolder(ui.draggable, drops);
        }
    });

    ////////////////////////////////////////////////////////////////////////////
    //폴더에 아이템을 추가
    ////////////////////////////////////////////////////////////////////////////

    function addToFolder($item, $fol) {
        var strFolderInfo = $fol.children("div.dvItemBg").children("div.dvItemInfo").html();
        var arrFolderInfo = strFolderInfo.split("^");
        var strDocInfo = $item.children("div.dvItemBg").children("div.dvItemInfo").html();
        var arrDocInfo = strDocInfo.split("^");
        //////////////////////////////////////히든필드에 값을 셋팅한다.
        $vhdEventType.val("1"); //문서를 가져올 사이트 주소
        $vhdFromSiteUrl.val(arrDocInfo[0]); //문서를 가져올 사이트 주소
        $vhdFromWebName.val(arrDocInfo[1]); //문서를 가져올 웹 주소
        $vhdFromListUrl.val(arrDocInfo[2]); //문서를 가져올 리스트 주소
        $vhdFromDocID.val(arrDocInfo[4]); //가져올 문서 아이디
        $vhdToSiteUrl.val(arrFolderInfo[0]); //문서를 옮길 사이트 주소
        $vhdToWebName.val(arrFolderInfo[1]); //문서를 옮길 웹 주소
        $vhdToListUrl.val(arrFolderInfo[2]); //문서를 옮길 리스트 주소
        $vhdToFolderName.val(arrFolderInfo[3]); //문서를 옮길 폴더명
        //문서를 폴더에 추가할 때 버튼을 클릭한다.
        $vbtnSave.click();
    }

    ////////////////////////////////////////////////////////////////////////////
    //휴지통에 드랍
    ////////////////////////////////////////////////////////////////////////////

    $vliFolderDelete.droppable({
        accept: ".docs > li, .folders > li",
        over: function (event, ui) {
            current = $(this);
            current.removeClass('liFolderDelete_deactive');
            current.addClass('liFolderDelete_active');
        },
        out: function (event, ui) {
            current = $(this);
            current.removeClass('liFolderDelete_active');
            current.addClass('liFolderDelete_deactive');
        },
        drop: function (event, ui) {
            ui.draggable.fadeOut();
            drops = $(this);
            itemDelete(ui.draggable, drops);
        }
    });

    ////////////////////////////////////////////////////////////////////////////
    //아이템 삭제(휴지통)
    ////////////////////////////////////////////////////////////////////////////

    function itemDelete($item, $fol) {
        var strItemId = $item.attr('id');
        //////////////////////////////////////히든필드에 값을 셋팅한다.
        $vhdEventType.val("4"); //문서를 가져올 사이트 주소
        $vhdFromSiteUrl.val(""); //문서를 가져올 사이트 주소
        $vhdFromWebName.val(""); //문서를 가져올 웹 주소
        $vhdFromListUrl.val(""); //문서를 가져올 리스트 주소
        $vhdFromDocID.val(strItemId); //가져올 문서 아이디
        $vhdToSiteUrl.val(""); //문서를 옮길 사이트 주소
        $vhdToWebName.val(""); //문서를 옮길 웹 주소
        $vhdToListUrl.val(""); //문서를 옮길 리스트 주소
        $vhdToFolderName.val(""); //문서를 옮길 폴더명
        //문서를 폴더에 추가할 때 버튼을 클릭한다.
        $vbtnDelete.click();
    }   
});